package org.ala.tree.lsm;

import java.util.Iterator;
import java.util.function.BiConsumer;

/**
 *
 * @author ala
 * @date 2025年5月26日
 */
public interface IMemTable<V> {

	
	/**
	 * 	内存块id
	 */
	String id();
	/**
	 * 	是否只读
	 */
	boolean readOnly();
	/**
	 * 	置为只读
	 */
	void setReadOnly();
	
	
	/**
	 * 	读写
	 */
	int size();
	boolean put(String k, V v);
	V get(String k);
	V remove(String k);
	void forEach(BiConsumer<String, V> consumer);
	
	
	/**
	 * 	迭代器
	 */
	Iterator<KV<V>> iterator();
	/**
	 * 	清除与之关联的wal
	 */
	void clearWal();
}
